package com.ruoyi.study.service.impl;

import com.ruoyi.study.domain.StyRedis;
import com.ruoyi.study.mapper.StyRedisMapper;
import com.ruoyi.study.service.IStyRedisService;
import com.ruoyi.study.tool.redis.RedisTool;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

import static com.ruoyi.study.tool.redis.RedisConstants.INSERT_REDIS_KEY;

/**
 * redis信息Service业务层处理
 * 
 * @author dwb
 * @date 2024-09-04
 */
@Service
public class StyRedisServiceImpl implements IStyRedisService 
{
    @Resource
    private StyRedisMapper styRedisMapper;
    @Resource
    private RedisTool redisTool;

    /**
     * 查询redis信息
     * 
     * @param id redis信息主键
     * @return redis信息
     */
    @Override
    public StyRedis selectStyRedisById(Long id)
    {
        return styRedisMapper.selectStyRedisById(id);
    }

    /**
     * 查询redis信息列表
     * 
     * @param styRedis redis信息
     * @return redis信息
     */
    @Override
    public List<StyRedis> selectStyRedisList(StyRedis styRedis)
    {
        return styRedisMapper.selectStyRedisList(styRedis);
    }

    /**
     * 新增redis信息
     * 
     * @param styRedis redis信息
     * @return 结果
     */
    @Override
    public int insertStyRedis(StyRedis styRedis)
    {
        String key = INSERT_REDIS_KEY; // 可以是任何用于标识要生成ID的键
        long id = redisTool.generateId(key);
        styRedis.setId(id);
        return styRedisMapper.insertStyRedis(styRedis);
    }

    /**
     * 修改redis信息
     * 
     * @param styRedis redis信息
     * @return 结果
     */
    @Override
    public int updateStyRedis(StyRedis styRedis)
    {
        return styRedisMapper.updateStyRedis(styRedis);
    }

    /**
     * 批量删除redis信息
     * 
     * @param ids 需要删除的redis信息主键
     * @return 结果
     */
    @Override
    public int deleteStyRedisByIds(Long[] ids)
    {
        return styRedisMapper.deleteStyRedisByIds(ids);
    }

    /**
     * 删除redis信息信息
     * 
     * @param id redis信息主键
     * @return 结果
     */
    @Override
    public int deleteStyRedisById(Long id)
    {
        return styRedisMapper.deleteStyRedisById(id);
    }

}
